﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using RayDen.Library.Entity.SceneGraph;

namespace RayDen.Library.Entity.Frames.Animation
{
    public interface IModifier
    {
        SceneGraphChangesType ChangesType { get; }
        void Setup(int totalFrames, FrameElement initialState = null);
        void Apply(int frame, FrameElement element);
    }

    public abstract class BaseFrameElementModifier : IModifier
    {
        public abstract SceneGraphChangesType ChangesType
        {
            get;
        }

        public virtual void Setup(int totalFrames, FrameElement initialState = null)
        {
            throw new NotImplementedException();
        }

        public void Apply(int frame, FrameElement element)
        {
            throw new NotImplementedException();
        }
    }
    

}
